Write Protection State Change Initiation Sequence

ABSTRACT

A user&#39;s intention to perform an operation is confirmed by determining within a computer configuration a change in state of a write protection status. The change in state of the write protection status may be either from enabled to disabled, or from disabled to enabled. Determining the change in state of the status includes initially checking the state of the write protection status; subsequently checking the state of the write protection status; and comparing the state determined in the initial check with the state determined in the subsequent check. A predetermined period between the initial check and the subsequent check is provided, and the subsequent check is repeated until a change in the status is determined, or until either a predetermined number of subsequent checks has occurred and/or a predetermined time period has expired. The method can be used in backing up and restoring data of a headless server.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] The present application claims priority under 35 U.S.C. § 119(e)to U.S. provisional patent application serial No. 60/350,434, filed Jan.22, 2002, which is incorporated herein by reference, and relates to thesame field of the invention as the current assignee's Internationalpatent application serial no. PCT/US02/40106, filed Dec. 16, 2002, whichis incorporated herein by reference.

BACKGROUND OF INVENTION

[0002] It is desirable when a certain operation is to be performed on acomputer to require user confirmation for such operation beforeinitiation thereof. By way of example and not limitation, suchoperations include, for example, operations that are potentiallydamaging or result in irreversible changes to the computer, such as alow-level disk formatting of the computer's hard drive; restoring thecomputer to a previous, known state; reinstallation of the operatingsystem of the computer; or performing emergency repair operations on thecomputer. Additional operations, for example, are set forth anddiscussed in the “Exemplary Commercial Utilizations” section below andin the incorporated international application.

[0003] By confirming an intention of a user to perform an operation onthe computer, the operation is “protected” from accidentally beingperformed. User confirmation is determined by: (1) communicating by thecomputer a warning to the user through a user-output device associatedwith the computer; and (2) in response thereto, communicating by theuser a signal to the computer through a traditional user-input deviceassociated with the computer. A user-output device includes, forexample, a video display monitor, a light, or a speaker and the like. Atraditional user-input device includes, for example, a keyboard, a touchscreen, a mouse, or a microphone and the like.

[0004] Unfortunately, there are circumstances in which a user'sintention to perform an operation cannot be confirmed beforehand and,thus, the operation is unprotected from accidental performance. Forexample, a user's intention to perform an operation cannot be confirmedwhen there are no traditional user-input and/or user-output devices. Auser's intention to perform an operation also cannot be confirmed whenuser-input and/or user-output devices associated with a computermalfunction or otherwise are disabled. A user's intention to perform anoperation also cannot be confirmed when the operation itself must besuccessfully performed on the computer before the associated user-inputand/or user-output devices may even be initialized.

[0005] Under these circumstances, allowing an operation to be performedon the computer without user confirmation is undesirable but,nevertheless, necessary.

[0006] The disadvantages of not being able to confirm a user'sintentions to perform an operation are particularly apparent when anoperation is to be performed on a “headless server” using a “bootstrapprogram.” In this regard, a “headless server” is a computer that hasneither monitor, keyboard, nor mouse and that functions as a server in acomputer network. Headless servers are found in common computernetworks. A bootstrap program is a program that automatically executesupon starting (or “booting”) of a computer.

[0007] When an operation is to be performed on a headless server using abootstrap program, the headless server is booted from auto-runningbootstrap media, such as a floppy disk or ZIP disk having the bootstrapprogram, by placing the floppy disk or ZIP disk in a drive of theheadless server and rebooting the server. Using such auto-runningbootstrap media, a headless server can be initialized with a baseoperating system (“O/S”) or otherwise restored to an operationalcondition. Once running, the server then can be configured, for example,by way of a network connected terminal.

[0008] The headless server then might run unattended for months oryears. Unfortunately, if the bootstrap media is inadvertently left inthe drive of the headless server (which frequently happens), then, uponreboot months or years later, the operation performed by theauto-running bootstrap program on the headless server automaticallyrestarts contrary to the actual intention of the user. Such anaccidental restarting of the bootstrap program (which does not seek toconfirm a user's intention to perform again the operation) oftenindicates deletion of or damage to data and security information on theheadless server.

[0009] A solution to the “forgotten media” problem is to require areboot after execution of the operation in order for the headless serverto resume normal operations. Leaving the bootstrap media in the drivethen will place the computer in an endless loop of repeatedly rebootingand running the protected program until the bootstrap media is removedor otherwise disabled. While certainly not as costly as destroyingmonths or years of data, the requirement of a reboot nonetheless proveswasteful and frustrating when the bootstrap media is inadvertently leftin the drive.

[0010] In view of the foregoing, a need exists for a system and methodfor confirming a user's intention to perform a computer operation whenthere are no traditional user-input and/or user-output devices connectedto a computer. A need further exists for system and method forconfirming a user's intention to perform a computer operation whenuser-input and/or user-output devices associated with a computermalfunction, and/or when user-input and/or user-output devicesassociated with a computer are disabled. A need also exists for a systemand method for confirming a user's intention to perform a computeroperation when the operation itself must be successfully performed on acomputer before the associated user-input and/or user-output devices mayeven be initialized.

[0011] Additionally, a particular need exists for a system and methodfor confirming a user's intention to perform an operation on a headlesscomputer, especially one that functions as a server in a computernetwork.

[0012] One or more of these needs are met by one or more embodiments ofthe present invention.

SUMMARY OF INVENTION

[0013] The field of the present invention generally relates toperformance of operations and, in particular, to a system and method forinitiating an operation after a user's intention to perform suchoperation is confirmed. Thus, the present invention guards against acomputer operation being inadvertently performed.

[0014] Briefly described, the present invention broadly relates to asystem and method in which a user's intention to perform an operation isconfirmed. A user's intention is confirmed by determining a change instate of write protection (WP) status. Detection of the state changerepresents confirmation of the user's intention to perform the operationand forms part of the initiation sequence for the protected operation.The WP state change includes: (1) a change from “enabled” to “disabled,”as well as (2) a change from “disabled” to “enabled.” In this regard,“enabled” means writable or rewritable and “disabled” means read only.The WP state change preferably is accomplished by a physical act of auser. Accordingly, the WP state change tends to indicate: (1) that auser is present, and (2) that the protected computer operation isspecifically intended by the user to be initiated.

[0015] In certain preferred embodiments, the WP state change pertains toa physical, computer-readable medium such as, for example, a floppydisk, a ZIP disk, a USB storage device, a hard disk drive, or the like.In other preferred embodiments, the WP state change pertains to alogical container having the capability of being write protected as wellas being unprotected from writes. A logical container includes, forexample, a file, a folder, a name space, a logical drive, a virtualdevice, or the like.

[0016] A method in accordance with the present invention for protectingagainst an unintentional operation being performed includes the step ofinitiating the operation only after a user's intention to perform theoperation is confirmed. The user's intention to perform the operation isconfirmed by: (i) initially checking a WP status of a computer-readablemedium or logical container within a computer configuration; (ii)subsequently checking the WP status of the computer-readable medium orlogical container within the computer configuration; and (iii) based onthe initial and subsequent checks, determining whether there has been astate change in the WP status. The check preferably includes reading anattribute of the computer-readable medium or the logical container thatis maintained within the computer configuration. Alternatively, thecheck of the computer-readable medium or the logical containerpreferably includes writing to the computer-readable medium or to thelogical container. If the write is successful, then the WP status isdetermined to be enabled. If the write is unsuccessful, then the WPstatus is determined to be disabled. Upon a detection of the change inthe write protection status, the user's intention is deemed confirmed.In a feature of the method, the user's intention is confirmed withoutrequiring use of a user-input device.

[0017] The subsequent check of the WP status preferably occurs after apredetermined period of time. Additionally, the check preferably is madefor a predetermined number or times, or for a predetermined period oftime, before the method times out and results in the subsequenttermination of the initiation sequence without performance of theoperation. Following termination of the initiation sequence, theinitiation sequence preferably must begin again in order to perform theprotected operation. Thus, the initiation sequence preferably is aprerequisite to performing the operation.

[0018] An apparatus in accordance with the present invention includes acomputer-readable medium having computer-executable instructions forperforming the steps of the preferred method described above.Preferably, this computer-readable medium is a bootstrap medium and thecomputer-executable instructions are part of a bootstrap program or arepart of a program that is run by the bootstrap program during boot up.In a preferred embodiment, the operation that is protected by theinitiation sequence is a restore operation from a backup medium onto aheadless server. Another apparatus in accordance with the presentinvention includes a computer configuration including acomputer-readable medium having computer-executable instructions forperforming the preferred method described above.

BRIEF DESCRIPTION OF DRAWINGS

[0019] Further features and benefits of the present invention will beapparent from a detailed description of preferred embodiments thereoftaken in conjunction with the following drawings, wherein similarelements are referred to with similar reference numbers, and wherein:

[0020]FIG. 1 illustrates a first preferred embodiment of a digitalcomputer configuration of the invention;

[0021]FIG. 2 illustrates a second preferred embodiment of a digitalcomputer configuration of the invention;

[0022]FIG. 3 illustrates a third preferred embodiment of a digitalcomputer configuration of the invention; and

[0023]FIG. 4 illustrates a flow diagram of steps of a preferredembodiment of a method of the invention.

DETAILED DESCRIPTION

[0024] As a preliminary matter, it will readily be understood by thosepersons skilled in the art that the present invention is susceptible ofbroad utility and application in view of the following detaileddescription of preferred embodiments of the present invention. Manydevices, methods, embodiments, and adaptations of the present inventionother than those herein described, as well as many variations,modifications, and equivalent arrangements thereof, will be apparentfrom or reasonably suggested by the present invention and the followingdetailed description thereof, without departing from the substance orscope of the present invention. Accordingly, while the present inventionis described herein in detail in relation to preferred embodiments, itis to be understood that this disclosure is illustrative and exemplaryand is made merely for purposes of providing a full and enablingdisclosure of the invention. The detailed disclosure herein is notintended nor is to be construed to limit the present invention orotherwise to exclude any such other embodiments, adaptations,variations, modifications and equivalent arrangements, the presentinvention being limited only by the claims appended hereto and theequivalents thereof.

[0025] A First Preferred Embodiment of a Computer Configuration of thePresent Invention

[0026] Referring to FIG. 1, a first preferred computer configuration 100is shown in accordance with the present invention. The computerconfiguration 100 includes a digital computer 102 illustrated as alaptop computer and hardware 104 comprising a ZIP drive that can readfrom and write to Zip disks. Removable storage medium 106 is illustratedas a Zip disk. The disk is insertable into the drive of the computerconfiguration 100 for reading thereof and writing thereto by thecomputer 102. The computer configuration 100 includes computer-readablemedia having computer-executable instructions for performing thepreferred method of the present invention described in detail below.

[0027] A Second Preferred Embodiment of a Computer Configuration of thePresent Invention

[0028] A second preferred computer configuration 200 is shown in FIG. 2in accordance with the present invention. Similar to the computerconfiguration 100 of FIG. 1, the computer configuration 200 of FIG. 2includes a digital computer 202 having hardware 204 in which a removablestorage medium 206 is insertable for reading therefrom and writingthereto by the computer 202. Unlike the computer configuration 100 ofFIG. 1, the computer 202 is illustrated as a headless server, as thecomputer configuration 200 includes no user-input or output devices; thehardware 204 comprises a floppy drive; and the removable storage medium208 comprises a floppy disk. The computer configuration 200 includescomputer-readable media having computer-executable instructions forperforming the preferred method of the present invention described indetail below.

[0029] A Third Preferred Embodiment of a Computer Configuration of thePresent Invention

[0030] A third preferred computer configuration 300 is shown in FIG. 3in accordance with the present invention and includes a computer network312. The computer configuration 200 of FIG. 2 forms part of the computerconfiguration 300 illustrated FIG. 3, as the computer configuration 200represents a node 310 of the computer network 312. The computerconfiguration 200 includes the digital computer 202 and hardware 204 inwhich removable storage medium 306 is insertable for reading thereof andwriting thereto by the computer 202.

[0031] The computer network 312 also includes a network attached device(NAD) 318 with network attached storage (NAS) 316. The NAS 316 includestherein a logical container comprising a file titled “confirm.txt” and,in turn, this file is located within another logical containercomprising a folder. The folder is titled “Restore” and, in turn, thefolder is located within another logical container comprising a logicaldrive or volume titled “T” (also referred to as the “T drive”). The file“confirm.txt” preferably includes an attribute that is recorded withinthe computer configuration that identifies a WP status of the file. Thisattribute typically is part of the metadata associated with the file.Alternatively, the folder includes an attribute that is recorded withinthe computer configuration that identifies a WP status of the filescontained within the folder, or the T drive includes an attribute thatis recorded within the computer configuration that identifies a WPstatus of all of the folders and/or of all of the files contained withinthe T drive. The computer configuration 300 includes computer-readablemedia having computer-executable instructions for performing thepreferred method of the present invention described in detail below.

[0032] A Preferred Embodiment of a Method of the Present Invention

[0033] Referring now to FIG. 4, steps of a preferred method 400 inaccordance with the present invention are illustrated. The preferredmethod 400 begins at Step 402 when a protected operation is to beperformed. At Step 404 a WP status is determined. With regard to thepreferred computer configuration 100 of FIG. 1, the WP status of thedisk 106 is determined; with regard to the preferred computerconfiguration 200 of FIG. 2, the WP status of the disk 206 isdetermined; and with regard to the preferred computer configuration 300of FIG. 3, the WP status of either the disk 306 or of one of the logicalstructures of the NAS 316 is determined. Preferably, the WP status isdetermined by reading an attribute of the computer-readable medium or ofthe logical structure that indicates the WP status. Alternatively, theWP status is determined by attempting to write to the computer-readablemedium or to the logical structure. If the write is successful, then theWP status is determined to be enabled. Thus, for instance, the WP statusof the file “confirm.txt” on the T drive of the NAS 316 may bedetermined by writing to the file.

[0034] If the WP status is “disabled,” then the method determines again(Step 412) the WP status. If the WP status is changed based on acomparison of the initial and subsequent checks, i.e., if the WP statusis now “enabled,” then the method initiates the operation at Step 418,and the method then ends at Step 420.

[0035] On the other hand, if the WP status is determined to be“disabled” at Step 412, i.e., if the WP status is determined not to havechanged based on a comparison of the initial and subsequent checks, thenthe method ends at Step 420 without the operation being initiated.

[0036] Alternatively, if the WP status is “enabled” as initiallydetermined in Step 404, then the method determines again (Step 416) theWP status. If the WP status is changed based on a comparison of theinitial and subsequent checks, i.e., if the WP status is now “disabled,”then the method initiates the operation at Step 418, and the method thenends at Step 420.

[0037] On the other hand, if the WP status is determined to be “enabled”at Step 416, i.e., if the WP status is determined not to have changedbased on a comparison of the initial and subsequent checks, then themethod ends at Step 420 without the operation being initiated.

[0038] In order for a user to change the WP status of thecomputer-readable medium or logical container for which the WP status isdetermined, a sufficient period preferably is provided before therespective subsequent checks at Steps 412 and 416.

[0039] Accordingly, if the WP status is determined to be “disabled” atStep 404, then the method waits (Step 406) for some period of time, andif the WP status is determined to be “enabled” at Step 404, then themethod waits (Step 408) for some period of time. Thereafter, asubsequent check respectively is made at Step 412 and Step 416.Furthermore, the method continues to check the WP status until eitherthe WP status is determined to have changed or the method times out. Themethod times out at Steps 410,414 after a predetermined period of timeor after a predetermined number of subsequent checks of the WP statushave been made. If the method times out at Step 410 or Step 414, thenthe method ends at Step 420 without the operation being initiated.

[0040] With regard to the preferred computer configuration 100 of FIG.1, the WP status of the disk 106 is changed by the user by unchecking a“read only” attribute in the properties box for the disk 106; withregard to the disk 206 of FIG. 2 or to the disk 306 of FIG. 3, the WPstatus of the disk is changed by the user physically toggling a writeprotection tab on the disk; and with regard to one of the logicalcontainers of FIG. 3, the WP status of the logical structure is changedby the user by unchecking a “read only” attribute in the properties boxfor the particular logical container.

[0041] In view of the foregoing detailed description, it will beapparent that the operation will not be initiated without the successfuldetermination of a change in state of the WP status and, hence,confirmation of the user's intention to perform the operation.Preferably, the operation can only be initiated following confirmationof the user's intention to perform the operation.

[0042] Moreover, in view of the foregoing detailed description, it willbe apparent that, at least with regard to certain embodiments of thepresent invention, a user's intention to perform the operation actuallyis confirmed without requiring the use of user-input and user-outputdevices. No keyboard, mouse, monitor, microphone, speaker, touch screen,or the like is required in order to perform the initiation sequence forthe operation. Nor is an on-screen user prompt required in order toconfirm the user's intention to perform the operation on the computer.The physical toggling of the write protection tab on disks 206,306206,306, for instance, is an act that necessarily must be performed by auser at the time of the initialization of the operation, and representsconfirmation of the user's intentions to initiate and perform theoperation at that time.

[0043] Exemplary Commercial Utilizations of the Present Invention

[0044] The following represent examples of contemplated commercialutilizations of the present invention.

[0045] Keystroke Emulation Program

[0046] In certain circumstances, it is desirable to emulate keystrokes,especially when a keyboard or keypad is absent, malfunctioning, orotherwise unavailable. For instance, one may desire to create a backupof one's hard drive on a laptop computer using a backup program on thehard drive. This may be impossible, or at least very difficult, withoutthe use of a keyboard. Utilizing a method of the present invention, afirst removable storage medium such as disk 206 in FIG. 2 comprising abootstrap disk is inserted into a floppy drive of the laptop and thelaptop then is started. During booting of the laptop, the laptop bootsfrom the bootstrap disk. The bootstrap disk includes a program that isexecuted by the laptop that causes the computer to determine the WPstatus of the disk and then to determine, again, the WP status of thedisk. The subsequent determination is made after a sufficient period oftime in which the user can remove the disk from the drive, physicallytoggle the write protection tab of the disk, and then reinsert the diskinto the drive. Accordingly, when the subsequent check is made todetermine the WP status of the disk, a comparison of the initial andsubsequent checks reveals a change in the state of the WP status.Following successfully determining the change in state of the WP status,the bootstrap program emulates keystrokes of a user. In this regard, thesequence of keystrokes is predetermined and results in the execution ofthe backup program on the laptop's hard disk drive. Moreover, thesequence of keystrokes preferably identifies a backup location externalto the laptop, such as, for example, a network storage device or a USBhard drive attached directly to a USB port of the laptop. Thedetermination of the change in state of the WP status of the bootstrapdisk is a prerequisite to initiation of the keystroke emulation.Consequently, inadvertently booting the laptop with the disk does notresult in an unintended performance of the backup operation.

[0047] Headless Server Restore and Backup

[0048] Another example of a commercial utilization of the presentinvention includes backup and restore operations on a headless server.Inadvertent or unauthorized restoration of a backup image on a headlessor blind server can destroy valuable data. In this context, the restoreprogram is stored on a first bootstrap computer-readable medium such asa floppy disk. Upon booting from this disk, a bootstrap program thereondetermines the WP status of the disk and then determines, again, the WPstatus of the disk in accordance with the method of FIG. 4. The seconddetermination is made after a sufficient period of time in which theuser can remove the disk from the drive of the headless server, toggle awrite protection tab of the disk, and then reinsert the disk into thedrive. Accordingly, when the comparison is made for a change in state ofthe WP status of the disk, such a change is determined. Following thissuccessful determination, the bootstrap program initiates a restoreoperation in which backup data is written to the headless server. Thebackup data could be written from a secondary drive of the headlessserver or from a remote location, such as network attached storage. Inthis way, the physical change in the write protection tab of the diskensures that it is impossible to inadvertently perform a restoreoperation to the headless server by simply leaving the bootstrap disk inthe drive and later rebooting the headless server. Indeed, even if thebootstrap disk is inadvertently left in the drive, the restore operationnevertheless will not be executed upon a later reboot, as the state ofthe WP status of the disk will not change absent user action. In suchcase, the initiation sequence simply will time out and, if the restoreoperations is indeed desired, the headless server will have to rebootwith the bootstrap disk in the drive.

[0049] Correspondingly, an inadvertent or unauthorized saving of backupdata from a headless server can likewise destroy previously saved backupdata. As in the restore operation, the present invention can be utilizedto safeguard against this type of disaster. In this regard, the backupoperation to successfully execute requires, as a prerequisite, thechange in state of the WP status of a disk. This disk also can beadditionally used to load backup parameters and to save operationalresults of the backup for review by a user on another computer.

[0050] Remote Network Install on Local Machine

[0051] In certain arrangements it may be desirable to install a programon a local machine that is connected to a network, wherein theinstallation program itself is centrally located on a network attacheddevice. The installation, however, may destroy important data on thelocal machine if inadvertently performed, or if inadvertently performedremotely on the wrong local machine (hundreds or even thousands of localmachines can exist on a network). The present invention can be utilizedto ensure installation to the proper machine and to limit unintentionalinstallations. When an installation is to be performed at a localmachine, a technician physically disposed at the local machine inserts acomputer-readable medium comprising a disk into a drive associated withthe local machine. The computer reads an identifier from the drive thatis unique to, and thereby identifies to the local computer, the programto be installed on the local machine from the central network location.The computer also checks the WP status of the disk. Thereafter, thetechnician changes the state of the WP status of the disk and, after apredetermined period, the computer again checks the WP status of thedisk.

[0052] Upon the successful determination of a change in state of the WPstatus of the disk, the computer initiates the installation program forinstallation to the local machine from the central network location.Furthermore, the identifier read from the disk is checked at the centralnetwork location against a list of identifiers that are associated withlocal machines to insure that the identifier read from the disk is, infact, associated with the particular local machine so that theappropriate program will be installed for that machine. On the otherhand, if the determination of a change in the state of the WP status ofthe disk is unsuccessful, or if a timeout occurs, which would occur inthe absence of the technician, then the initiation sequence ends and theinstallation operation simply is not initiated.

[0053] Dangerous Program Isolation

[0054] Execution of programs that, if inadvertently or maliciouslyexecuted would cause severe damage, may be contained by utilizing thepresent invention. In this regard, such a program is stored on aremovable storage medium such as a floppy disk and not, for example, ona hard disk drive of a computer. This physical isolation of the programsafeguards against malicious execution of the program by someone whomerely gains access to the computer and its non-removable storage media.To execute the program utilizing the present invention, the floppy diskis inserted into a drive of the computer and the program including theinitiation sequence is run. Upon running, the program first determinesthe WP status of a predetermined file on the disk. Thereafter, theprogram again determines the WP status of the predetermined file. If theWP status of the predetermined file does not change between the initialand subsequent checks, then the program ends without the dangerousprogram being successfully executed. If the WP status of the diskchanges, then the dangerous program is then successfully initiated.

[0055] In this example, the program of the initiation sequence may ormay not comprise a bootstrap program and/or may or may not reside upon abootstrap disk. However, if the program does comprise a bootstrapprogram, or resides on a bootstrap disk and is called by the bootstrapprogram, then the required change in state of the WP status of thepredetermined file on the disk ensures that the dangerous program cannotbe inadvertently executed upon a reboot of the computer merely byleaving the disk within the drive; someone also must be present tochange the state of the WP status of the predetermined file between theinitial check and subsequent check performed as part of the initiationsequence.

[0056] Scope of the Present Invention

[0057] In view of the foregoing detailed description of preferredembodiments of the present invention, it readily will be understood bythose persons skilled in the art that the present invention in all itsaspects is susceptible of broad utility and application. While variousembodiments of the present invention have been described herein incertain contexts, the embodiments may be useful in other contexts aswell. Many embodiments and adaptations thereof other than those hereindescribed, as well as many variations, modifications, and equivalentarrangements, will be apparent from or reasonably suggested by thepresent invention and the foregoing description thereof, withoutdeparting from the substance or scope of the present invention.Furthermore, any sequence(s) and/or temporal order of steps of variousprocesses described and claimed herein are those considered to be thebest mode contemplated for one or more preferred embodiments of thepresent invention. It should also be understood that, although steps ofvarious processes may be shown and described as being in a preferredsequence or temporal order, the steps of any such processes are notlimited to being carried out in any particular sequence or order, absenta specific indication of such. In many cases, the steps of suchprocesses may be able to be carried out in various different sequencesand orders, while still falling within the scope of the presentinvention. Accordingly, while the present invention has been describedherein in detail in relation to preferred embodiments, it is to beunderstood that this disclosure is only illustrative and exemplary ofthe present invention and is made merely for purposes of providing afull and enabling disclosure of the invention. The foregoing disclosureis not intended nor is to be construed to limit the present invention orotherwise to exclude any such other embodiments, adaptations,variations, modifications and equivalent arrangements thereof, thepresent invention being limited only by the claims appended hereto andthe equivalents thereof.

[0058] Thus, the use of “program” herein may refer not only to astandalone set of code, but also, for example, to a snippet of code or amodule forming part of a larger program. Furthermore, for example, alaptop computer 102 is shown in FIG. 1 only for purposes of illustratinga digital computer. The laptop computer 102 further represents, forexample, a desktop, a tower computer, and a headless server, as well asan embedded computer such as those computers found in ATMs, cashregisters, vending machines, gaming machines, autos, appliances, etc.Similarly, the headless server 202 of FIG. 2 equally could be the laptopcomputer 102 as shown in FIG. 1, etc. The Zip disk 106 and the floppydisk 206 are shown only for purposes of illustrating different types ofcomputer-readable media. These further represent, for example, opticaldiscs, floppy disks, Zip disks, and the like, with the drive 104 anddisk drive 204 each representing the appropriate type of hardware of thecomputer configuration for reading thereof and writing thereto by thecomputer. In general, the Zip disk 106 and disk 206 represent any typeof computer-readable media that can be read and written by the computer102, such as USB hard disk drives, USB memory devices, and the like.

[0059] Thus, for example, when the computer-readable media include USBdevices, the computer configuration includes a USB port as the hardwarefor reading of the USB devices; when the computer-readable media includeserial devices, the computer configuration includes a serial port as thehardware for reading the serial devices; when the computer-readablemedia include parallel devices, the computer configuration includes aparallel port as the hardware for reading the parallel devices; when thecomputer-readable media include a SCSI device, the computerconfiguration includes a SCSI connection as the hardware for reading theSCSI devices; and when the computer-readable media include infrareddevices, the computer configuration includes an infrared port as thehardware for reading the infrared devices, etc.

[0060] In addition to a user effecting a change in the WP status withinthe computer configuration, it is also contemplated that, within certainembodiments of the present invention, a software program effects thechange in the WP status rather than a user. Such a software program mayrun remotely or within the computer configuration, and preferably isexecuted by the user to run at one or more specified times when the userintends the operation to be initiated. In this situation, the softwareprogram that effects the state change in the WP status does not itselfconfirm the intention of the user to perform the operation bydetermining that a state change of the WP status has occurred.

[0061] One or more methods also have been described as including thebooting of a computer from a bootstrap storage medium. A variation ofthe present invention further includes such methods absent the actualbooting of the computer from such storage media. Instead, it iscontemplated within the scope of the invention that in each such methodthe computer be booted from another storage medium, such as a hard diskdrive of the computer configuration, a remote server in a networkedcomputer configuration, etc., while otherwise still performing the othersteps of the respective method described herein. Booting from aremovable storage medium clearly is not a necessary element of theinvention in its broadest scope. Moreover, it will be recognized thatembodiments of the present invention may overlap to various extents and,accordingly, are not mutually exclusive.

What is claimed is:
 1. An invention comprising a method of initiating anoperation after a user's intention to perform the operation isconfirmed, the method comprising the step of confirming the user'sintention by determining within a computer configuration a change instate of a write protection (WP) status.
 2. An invention comprising acomputer-readable medium including computer-executable instructions forperforming a method of initiating an operation after a user's intentionto perform the operation is confirmed, the method comprising the stepsof (a) confirming the user's intention by determining within thecomputer configuration a change in state of a write protection (WP)status, and (b) after the user's intention is confirmed, initiating theoperation.
 3. An invention comprising a computer configuration in whichan operation is initiated only after a user's intention to perform theoperation is confirmed, the computer configuration comprising acomputer-readable medium and means for confirming the user's intentionby determining within the computer configuration a change in state of awrite protection (WP) status.
 4. The invention of claim 1, wherein theoperation is performed only after the user's intention to perform theoperation is confirmed.
 5. The invention of claim 1, wherein confirmingthe user's intention by determining within the computer configuration achange in state of the WP status consists of determining a change instate of the WP status from enabled to disabled.
 6. The invention ofclaim 1, wherein confirming the user's intention by determining withinthe computer configuration a change in state of the WP status consistsof determining a change in state of the WP status from disabled toenabled.
 7. The invention of claim 1, wherein confirming the user'sintention by determining within the computer configuration a change instate of the WP status comprises determining a change in state of the WPstatus from enabled to disabled.
 8. The invention of claim 1, whereinconfirming the user's intention by determining within the computerconfiguration a change in state of the WP status comprises determining achange in state of the WP status from disabled to enabled.
 9. Theinvention of claim 1, wherein confirming the user's intention bydetermining within the computer configuration a change in state of theWP status comprises determining a change in state of the WP statuseither (a) from enabled to disabled, or (b) from disabled to enabled.10. The invention of claim 1, wherein determining within the computerconfiguration a change in state of the WP status comprises, (a)initially checking the state of the write protection status; (b)subsequently checking the state of the write protection status; and (c)comparing the state determined in the initial check with the statedetermined in the subsequent check.
 11. The invention of claim 10,wherein determining within the computer configuration a change in stateof the WP status further comprises (d) waiting a predetermined periodbetween the initial check and the subsequent check.
 12. The invention ofclaim 11, wherein determining within the computer configuration a changein state of the WP status further comprises (d) repeating the subsequentcheck until (i) a change in the WP status is determined, or (ii) untileither, (A) a predetermined number of subsequent checks has occurred,and/or (B) a predetermined time period has expired.
 13. The invention ofclaim 10, wherein determining within the computer configuration a changein state of the WP status further comprises (d) repeating the subsequentcheck until (i) a change in the WP status is determined, or (ii) untileither, (A) a predetermined number of subsequent checks has occurred,and/or (B) a predetermined time period has expired.
 14. The invention ofclaim 1, wherein the state of the WP status must be changed by the user.15. The invention of claim 14, wherein the state of the WP status ischanged by a physical act of the user.
 16. The invention of claim 1,wherein the user's intention is confirmed without requiring the use of auser-input device of a computer.
 17. The invention of claim 1, whereinthe WP status is of a computer-readable storage medium.
 18. Theinvention of claim 17, wherein the computer-readable storage medium is abootstrap medium.
 19. The invention of claim 17, wherein thecomputer-readable storage medium is a non-removable storage medium. 20.The invention of claim 17, wherein the computer-readable storage mediumcomprises a removable storage medium.
 21. The invention of claim 20,wherein the removable computer-readable storage medium is a bootstrapmedium.
 22. The invention of claim 20, wherein the removable storagemedium comprises one of the type of floppy disks, ZIP disks, opticaldiscs, USB devices, serial devices, parallel devices, and SCSI devices.23. The invention of claim 1, wherein the WP status is of a logicalcontainer.
 24. The invention of claim 23, wherein the logical containercomprises a virtual device.
 25. The invention of claim 23, wherein thelogical container comprises a logical drive.
 26. The invention of claim23, wherein the logical container comprises a partition.
 27. Theinvention of claim 23, wherein the logical container comprises a namespace.
 28. The invention of claim 23, wherein the logical containercomprises a folder.
 29. The invention of claim 23, wherein the logicalcontainer comprises a file.
 30. The invention of claim 1, wherein theoperation is performed on a computer.
 31. The invention of claim 30,wherein the computer has no user-input devices connected thereto. 32.The invention of claim 30, wherein the computer has a user-input devicethat is disabled or malfunctioning.
 33. The invention of claim 30,wherein the computer that has no user-output devices connected thereto.34. The invention of claim 30, wherein the computer comprises a laptopcomputer.
 35. The invention of claim 30, wherein the computerconfiguration includes a computer comprising a headless server.
 36. Theinvention of claim 1, wherein the operation is one of the group of harddisk drive partitioning; low level disk formatting; logical containerdeleting; restoring a computer to a previous, known state;reinstallation of the operating system of a computer; and performingemergency repair operations on a computer.
 37. The invention of claim 1,wherein the operation includes backing up data from a computer-readablemedium to a backup medium.
 38. The invention of claim 37, wherein thebackup medium comprises network attached storage.
 39. The invention ofclaim 37, wherein the operation includes restoring data of a backup tothe computer-readable medium.
 40. The invention of claim 39, wherein thecomputer configuration comprises a computer network and thecomputer-readable medium of which the backup is made comprises aheadless server of the network.
 41. The invention of claim 1, wherein achange in WP status is effected by a software program.
 42. The inventionof claim 41, wherein the software program that effects the change in WPstatus does not confirm the user's intention to perform the operation.